home *** CD-ROM | disk | FTP | other *** search
/ Champak 141 / (Vol 141) Oct 17 2011.iso / Games / Clueless.swf / scripts / caurina / transitions / Equations.as < prev    next >
Encoding:
Text File  |  2011-10-17  |  19.4 KB  |  433 lines

  1. package caurina.transitions
  2. {
  3.    public class Equations
  4.    {
  5.        
  6.       
  7.       public function Equations()
  8.       {
  9.          super();
  10.          trace("Equations is a static class and should not be instantiated.");
  11.       }
  12.       
  13.       public static function easeOutBounce(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  14.       {
  15.          if((param1 = param1 / param4) < 1 / 2.75)
  16.          {
  17.             return param3 * (7.5625 * param1 * param1) + param2;
  18.          }
  19.          if(param1 < 2 / 2.75)
  20.          {
  21.             return param3 * (7.5625 * (param1 = param1 - 1.5 / 2.75) * param1 + 0.75) + param2;
  22.          }
  23.          if(param1 < 2.5 / 2.75)
  24.          {
  25.             return param3 * (7.5625 * (param1 = param1 - 2.25 / 2.75) * param1 + 0.9375) + param2;
  26.          }
  27.          return param3 * (7.5625 * (param1 = param1 - 2.625 / 2.75) * param1 + 0.984375) + param2;
  28.       }
  29.       
  30.       public static function easeInOutElastic(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  31.       {
  32.          var _loc6_:Number = NaN;
  33.          var _loc7_:Number = NaN;
  34.          var _loc8_:Number = NaN;
  35.          if(param1 == 0)
  36.          {
  37.             return param2;
  38.          }
  39.          if((param1 = param1 / (param4 / 2)) == 2)
  40.          {
  41.             return param2 + param3;
  42.          }
  43.          _loc6_ = !Boolean(param5) || isNaN(param5.period) ? param4 * (0.3 * 1.5) : Number(param5.period);
  44.          _loc8_ = !Boolean(param5) || isNaN(param5.amplitude) ? 0 : Number(param5.amplitude);
  45.          if(!Boolean(_loc8_) || _loc8_ < Math.abs(param3))
  46.          {
  47.             _loc8_ = param3;
  48.             _loc7_ = _loc6_ / 4;
  49.          }
  50.          else
  51.          {
  52.             _loc7_ = _loc6_ / (2 * Math.PI) * Math.asin(param3 / _loc8_);
  53.          }
  54.          if(param1 < 1)
  55.          {
  56.             return -0.5 * (_loc8_ * Math.pow(2,10 * (param1 = param1 - 1)) * Math.sin((param1 * param4 - _loc7_) * (2 * Math.PI) / _loc6_)) + param2;
  57.          }
  58.          return _loc8_ * Math.pow(2,-10 * (param1 = param1 - 1)) * Math.sin((param1 * param4 - _loc7_) * (2 * Math.PI) / _loc6_) * 0.5 + param3 + param2;
  59.       }
  60.       
  61.       public static function easeInOutQuad(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  62.       {
  63.          if((param1 = param1 / (param4 / 2)) < 1)
  64.          {
  65.             return param3 / 2 * param1 * param1 + param2;
  66.          }
  67.          return -param3 / 2 * (--param1 * (param1 - 2) - 1) + param2;
  68.       }
  69.       
  70.       public static function easeInOutBounce(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  71.       {
  72.          if(param1 < param4 / 2)
  73.          {
  74.             return easeInBounce(param1 * 2,0,param3,param4) * 0.5 + param2;
  75.          }
  76.          return easeOutBounce(param1 * 2 - param4,0,param3,param4) * 0.5 + param3 * 0.5 + param2;
  77.       }
  78.       
  79.       public static function easeInOutBack(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  80.       {
  81.          var _loc6_:Number = NaN;
  82.          _loc6_ = !Boolean(param5) || isNaN(param5.overshoot) ? 1.70158 : Number(param5.overshoot);
  83.          if((param1 = param1 / (param4 / 2)) < 1)
  84.          {
  85.             return param3 / 2 * (param1 * param1 * (((_loc6_ = _loc6_ * 1.525) + 1) * param1 - _loc6_)) + param2;
  86.          }
  87.          return param3 / 2 * ((param1 = param1 - 2) * param1 * (((_loc6_ = _loc6_ * 1.525) + 1) * param1 + _loc6_) + 2) + param2;
  88.       }
  89.       
  90.       public static function easeOutInCubic(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  91.       {
  92.          if(param1 < param4 / 2)
  93.          {
  94.             return easeOutCubic(param1 * 2,param2,param3 / 2,param4,param5);
  95.          }
  96.          return easeInCubic(param1 * 2 - param4,param2 + param3 / 2,param3 / 2,param4,param5);
  97.       }
  98.       
  99.       public static function easeNone(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  100.       {
  101.          return param3 * param1 / param4 + param2;
  102.       }
  103.       
  104.       public static function easeOutBack(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  105.       {
  106.          var _loc6_:Number = NaN;
  107.          _loc6_ = !Boolean(param5) || isNaN(param5.overshoot) ? 1.70158 : Number(param5.overshoot);
  108.          return param3 * ((param1 = param1 / param4 - 1) * param1 * ((_loc6_ + 1) * param1 + _loc6_) + 1) + param2;
  109.       }
  110.       
  111.       public static function easeInOutSine(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  112.       {
  113.          return -param3 / 2 * (Math.cos(Math.PI * param1 / param4) - 1) + param2;
  114.       }
  115.       
  116.       public static function easeInBack(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  117.       {
  118.          var _loc6_:Number = NaN;
  119.          _loc6_ = !Boolean(param5) || isNaN(param5.overshoot) ? 1.70158 : Number(param5.overshoot);
  120.          return param3 * (param1 = param1 / param4) * param1 * ((_loc6_ + 1) * param1 - _loc6_) + param2;
  121.       }
  122.       
  123.       public static function easeInQuart(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  124.       {
  125.          return param3 * (param1 = param1 / param4) * param1 * param1 * param1 + param2;
  126.       }
  127.       
  128.       public static function easeOutInQuint(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  129.       {
  130.          if(param1 < param4 / 2)
  131.          {
  132.             return easeOutQuint(param1 * 2,param2,param3 / 2,param4,param5);
  133.          }
  134.          return easeInQuint(param1 * 2 - param4,param2 + param3 / 2,param3 / 2,param4,param5);
  135.       }
  136.       
  137.       public static function easeOutInBounce(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  138.       {
  139.          if(param1 < param4 / 2)
  140.          {
  141.             return easeOutBounce(param1 * 2,param2,param3 / 2,param4,param5);
  142.          }
  143.          return easeInBounce(param1 * 2 - param4,param2 + param3 / 2,param3 / 2,param4,param5);
  144.       }
  145.       
  146.       public static function init() : void
  147.       {
  148.          Tweener.registerTransition("easenone",easeNone);
  149.          Tweener.registerTransition("linear",easeNone);
  150.          Tweener.registerTransition("easeinquad",easeInQuad);
  151.          Tweener.registerTransition("easeoutquad",easeOutQuad);
  152.          Tweener.registerTransition("easeinoutquad",easeInOutQuad);
  153.          Tweener.registerTransition("easeoutinquad",easeOutInQuad);
  154.          Tweener.registerTransition("easeincubic",easeInCubic);
  155.          Tweener.registerTransition("easeoutcubic",easeOutCubic);
  156.          Tweener.registerTransition("easeinoutcubic",easeInOutCubic);
  157.          Tweener.registerTransition("easeoutincubic",easeOutInCubic);
  158.          Tweener.registerTransition("easeinquart",easeInQuart);
  159.          Tweener.registerTransition("easeoutquart",easeOutQuart);
  160.          Tweener.registerTransition("easeinoutquart",easeInOutQuart);
  161.          Tweener.registerTransition("easeoutinquart",easeOutInQuart);
  162.          Tweener.registerTransition("easeinquint",easeInQuint);
  163.          Tweener.registerTransition("easeoutquint",easeOutQuint);
  164.          Tweener.registerTransition("easeinoutquint",easeInOutQuint);
  165.          Tweener.registerTransition("easeoutinquint",easeOutInQuint);
  166.          Tweener.registerTransition("easeinsine",easeInSine);
  167.          Tweener.registerTransition("easeoutsine",easeOutSine);
  168.          Tweener.registerTransition("easeinoutsine",easeInOutSine);
  169.          Tweener.registerTransition("easeoutinsine",easeOutInSine);
  170.          Tweener.registerTransition("easeincirc",easeInCirc);
  171.          Tweener.registerTransition("easeoutcirc",easeOutCirc);
  172.          Tweener.registerTransition("easeinoutcirc",easeInOutCirc);
  173.          Tweener.registerTransition("easeoutincirc",easeOutInCirc);
  174.          Tweener.registerTransition("easeinexpo",easeInExpo);
  175.          Tweener.registerTransition("easeoutexpo",easeOutExpo);
  176.          Tweener.registerTransition("easeinoutexpo",easeInOutExpo);
  177.          Tweener.registerTransition("easeoutinexpo",easeOutInExpo);
  178.          Tweener.registerTransition("easeinelastic",easeInElastic);
  179.          Tweener.registerTransition("easeoutelastic",easeOutElastic);
  180.          Tweener.registerTransition("easeinoutelastic",easeInOutElastic);
  181.          Tweener.registerTransition("easeoutinelastic",easeOutInElastic);
  182.          Tweener.registerTransition("easeinback",easeInBack);
  183.          Tweener.registerTransition("easeoutback",easeOutBack);
  184.          Tweener.registerTransition("easeinoutback",easeInOutBack);
  185.          Tweener.registerTransition("easeoutinback",easeOutInBack);
  186.          Tweener.registerTransition("easeinbounce",easeInBounce);
  187.          Tweener.registerTransition("easeoutbounce",easeOutBounce);
  188.          Tweener.registerTransition("easeinoutbounce",easeInOutBounce);
  189.          Tweener.registerTransition("easeoutinbounce",easeOutInBounce);
  190.       }
  191.       
  192.       public static function easeOutExpo(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  193.       {
  194.          return param1 == param4 ? param2 + param3 : param3 * 1.001 * (-Math.pow(2,-10 * param1 / param4) + 1) + param2;
  195.       }
  196.       
  197.       public static function easeOutInBack(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  198.       {
  199.          if(param1 < param4 / 2)
  200.          {
  201.             return easeOutBack(param1 * 2,param2,param3 / 2,param4,param5);
  202.          }
  203.          return easeInBack(param1 * 2 - param4,param2 + param3 / 2,param3 / 2,param4,param5);
  204.       }
  205.       
  206.       public static function easeInExpo(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  207.       {
  208.          return param1 == 0 ? param2 : param3 * Math.pow(2,10 * (param1 / param4 - 1)) + param2 - param3 * 0.001;
  209.       }
  210.       
  211.       public static function easeInCubic(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  212.       {
  213.          return param3 * (param1 = param1 / param4) * param1 * param1 + param2;
  214.       }
  215.       
  216.       public static function easeInQuint(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  217.       {
  218.          return param3 * (param1 = param1 / param4) * param1 * param1 * param1 * param1 + param2;
  219.       }
  220.       
  221.       public static function easeInOutCirc(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  222.       {
  223.          if((param1 = param1 / (param4 / 2)) < 1)
  224.          {
  225.             return -param3 / 2 * (Math.sqrt(1 - param1 * param1) - 1) + param2;
  226.          }
  227.          return param3 / 2 * (Math.sqrt(1 - (param1 = param1 - 2) * param1) + 1) + param2;
  228.       }
  229.       
  230.       public static function easeInQuad(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  231.       {
  232.          return param3 * (param1 = param1 / param4) * param1 + param2;
  233.       }
  234.       
  235.       public static function easeInBounce(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  236.       {
  237.          return param3 - easeOutBounce(param4 - param1,0,param3,param4) + param2;
  238.       }
  239.       
  240.       public static function easeOutInExpo(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  241.       {
  242.          if(param1 < param4 / 2)
  243.          {
  244.             return easeOutExpo(param1 * 2,param2,param3 / 2,param4,param5);
  245.          }
  246.          return easeInExpo(param1 * 2 - param4,param2 + param3 / 2,param3 / 2,param4,param5);
  247.       }
  248.       
  249.       public static function easeOutQuart(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  250.       {
  251.          return -param3 * ((param1 = param1 / param4 - 1) * param1 * param1 * param1 - 1) + param2;
  252.       }
  253.       
  254.       public static function easeInSine(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  255.       {
  256.          return -param3 * Math.cos(param1 / param4 * (Math.PI / 2)) + param3 + param2;
  257.       }
  258.       
  259.       public static function easeInOutQuart(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  260.       {
  261.          if((param1 = param1 / (param4 / 2)) < 1)
  262.          {
  263.             return param3 / 2 * param1 * param1 * param1 * param1 + param2;
  264.          }
  265.          return -param3 / 2 * ((param1 = param1 - 2) * param1 * param1 * param1 - 2) + param2;
  266.       }
  267.       
  268.       public static function easeOutQuad(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  269.       {
  270.          return -param3 * (param1 = param1 / param4) * (param1 - 2) + param2;
  271.       }
  272.       
  273.       public static function easeOutInElastic(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  274.       {
  275.          if(param1 < param4 / 2)
  276.          {
  277.             return easeOutElastic(param1 * 2,param2,param3 / 2,param4,param5);
  278.          }
  279.          return easeInElastic(param1 * 2 - param4,param2 + param3 / 2,param3 / 2,param4,param5);
  280.       }
  281.       
  282.       public static function easeInElastic(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  283.       {
  284.          var _loc6_:Number = NaN;
  285.          var _loc7_:Number = NaN;
  286.          var _loc8_:Number = NaN;
  287.          if(param1 == 0)
  288.          {
  289.             return param2;
  290.          }
  291.          if((param1 = param1 / param4) == 1)
  292.          {
  293.             return param2 + param3;
  294.          }
  295.          _loc6_ = !Boolean(param5) || isNaN(param5.period) ? param4 * 0.3 : Number(param5.period);
  296.          _loc8_ = !Boolean(param5) || isNaN(param5.amplitude) ? 0 : Number(param5.amplitude);
  297.          if(!Boolean(_loc8_) || _loc8_ < Math.abs(param3))
  298.          {
  299.             _loc8_ = param3;
  300.             _loc7_ = _loc6_ / 4;
  301.          }
  302.          else
  303.          {
  304.             _loc7_ = _loc6_ / (2 * Math.PI) * Math.asin(param3 / _loc8_);
  305.          }
  306.          return -(_loc8_ * Math.pow(2,10 * (param1 = param1 - 1)) * Math.sin((param1 * param4 - _loc7_) * (2 * Math.PI) / _loc6_)) + param2;
  307.       }
  308.       
  309.       public static function easeOutCubic(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  310.       {
  311.          return param3 * ((param1 = param1 / param4 - 1) * param1 * param1 + 1) + param2;
  312.       }
  313.       
  314.       public static function easeOutQuint(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  315.       {
  316.          return param3 * ((param1 = param1 / param4 - 1) * param1 * param1 * param1 * param1 + 1) + param2;
  317.       }
  318.       
  319.       public static function easeOutInQuad(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  320.       {
  321.          if(param1 < param4 / 2)
  322.          {
  323.             return easeOutQuad(param1 * 2,param2,param3 / 2,param4,param5);
  324.          }
  325.          return easeInQuad(param1 * 2 - param4,param2 + param3 / 2,param3 / 2,param4,param5);
  326.       }
  327.       
  328.       public static function easeOutSine(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  329.       {
  330.          return param3 * Math.sin(param1 / param4 * (Math.PI / 2)) + param2;
  331.       }
  332.       
  333.       public static function easeInOutCubic(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  334.       {
  335.          if((param1 = param1 / (param4 / 2)) < 1)
  336.          {
  337.             return param3 / 2 * param1 * param1 * param1 + param2;
  338.          }
  339.          return param3 / 2 * ((param1 = param1 - 2) * param1 * param1 + 2) + param2;
  340.       }
  341.       
  342.       public static function easeInOutQuint(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  343.       {
  344.          if((param1 = param1 / (param4 / 2)) < 1)
  345.          {
  346.             return param3 / 2 * param1 * param1 * param1 * param1 * param1 + param2;
  347.          }
  348.          return param3 / 2 * ((param1 = param1 - 2) * param1 * param1 * param1 * param1 + 2) + param2;
  349.       }
  350.       
  351.       public static function easeInCirc(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  352.       {
  353.          return -param3 * (Math.sqrt(1 - (param1 = param1 / param4) * param1) - 1) + param2;
  354.       }
  355.       
  356.       public static function easeOutInSine(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  357.       {
  358.          if(param1 < param4 / 2)
  359.          {
  360.             return easeOutSine(param1 * 2,param2,param3 / 2,param4,param5);
  361.          }
  362.          return easeInSine(param1 * 2 - param4,param2 + param3 / 2,param3 / 2,param4,param5);
  363.       }
  364.       
  365.       public static function easeInOutExpo(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  366.       {
  367.          if(param1 == 0)
  368.          {
  369.             return param2;
  370.          }
  371.          if(param1 == param4)
  372.          {
  373.             return param2 + param3;
  374.          }
  375.          if((param1 = param1 / (param4 / 2)) < 1)
  376.          {
  377.             return param3 / 2 * Math.pow(2,10 * (param1 - 1)) + param2 - param3 * 0.0005;
  378.          }
  379.          return param3 / 2 * 1.0005 * (-Math.pow(2,-10 * --param1) + 2) + param2;
  380.       }
  381.       
  382.       public static function easeOutElastic(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  383.       {
  384.          var _loc6_:Number = NaN;
  385.          var _loc7_:Number = NaN;
  386.          var _loc8_:Number = NaN;
  387.          if(param1 == 0)
  388.          {
  389.             return param2;
  390.          }
  391.          if((param1 = param1 / param4) == 1)
  392.          {
  393.             return param2 + param3;
  394.          }
  395.          _loc6_ = !Boolean(param5) || isNaN(param5.period) ? param4 * 0.3 : Number(param5.period);
  396.          _loc8_ = !Boolean(param5) || isNaN(param5.amplitude) ? 0 : Number(param5.amplitude);
  397.          if(!Boolean(_loc8_) || _loc8_ < Math.abs(param3))
  398.          {
  399.             _loc8_ = param3;
  400.             _loc7_ = _loc6_ / 4;
  401.          }
  402.          else
  403.          {
  404.             _loc7_ = _loc6_ / (2 * Math.PI) * Math.asin(param3 / _loc8_);
  405.          }
  406.          return _loc8_ * Math.pow(2,-10 * param1) * Math.sin((param1 * param4 - _loc7_) * (2 * Math.PI) / _loc6_) + param3 + param2;
  407.       }
  408.       
  409.       public static function easeOutCirc(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  410.       {
  411.          return param3 * Math.sqrt(1 - (param1 = param1 / param4 - 1) * param1) + param2;
  412.       }
  413.       
  414.       public static function easeOutInQuart(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  415.       {
  416.          if(param1 < param4 / 2)
  417.          {
  418.             return easeOutQuart(param1 * 2,param2,param3 / 2,param4,param5);
  419.          }
  420.          return easeInQuart(param1 * 2 - param4,param2 + param3 / 2,param3 / 2,param4,param5);
  421.       }
  422.       
  423.       public static function easeOutInCirc(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null) : Number
  424.       {
  425.          if(param1 < param4 / 2)
  426.          {
  427.             return easeOutCirc(param1 * 2,param2,param3 / 2,param4,param5);
  428.          }
  429.          return easeInCirc(param1 * 2 - param4,param2 + param3 / 2,param3 / 2,param4,param5);
  430.       }
  431.    }
  432. }
  433.